RealTime-Glo vs direct cell counts via fluorescence microscopy
Analysis of PC9.1 cells treated with multiple drugs and drug concentrations using RT-glo
library(diprate)
d <- read.csv("~/dropbox-vu/temp/lum_cellcount_JAB002-3.csv", row.names=1)
Clean up data
d[d$drug_conc == "NaN", "drug_conc"] <- NA
d$drug_conc <- as.numeric(d$drug_conc)
d[d$drug == "", "drug"] <- NA
cn <- colnames(d)
cn <- gsub("drug_", "drug1.", cn)
cn <- gsub("drug$", "drug1", cn)
cn <- gsub("_", ".", cn)
colnames(d) <- cn
d[is.na(d$drug1.conc), "drug1.conc"] <- 0
fixTime <- function(...) strptime(format="%m-%d-%Y %I:%M %p", ...)
TxTime <- fixTime(min(d$image.time))
d$time <- signif(as.numeric(difftime(fixTime(d$image.time), TxTime, units="hours")),3)
d <- d[order(d$well,d$time),]
# remove first time point
# d <- d[d$plate.id != 1,]
ctrl <- d[d$drug1.conc==0,]
temp <- plotGC(ctrl$time, ctrl$cell.count, ctrl$well, main="Cell counts")

temp <- plotGC(ctrl$time, ctrl$RLU, ctrl$well, main="Luminescence")


drugs <- unique(d$drug1)
drugs <- drugs[!is.na(drugs)]
a <- lapply(drugs, function(dr) prepDataCLD(dat=d, drug=dr))
par(mfrow=c(3,3))
temp <- lapply(a, function(z) do.call(plotGC, append(getGCargs(z), list(rep=z$drug1.conc, main=unique(z$drug1)))))

LS0tCnRpdGxlOiAiSkFCMDAyLjMgbHVtICYgY2VsbCBjb3VudCBhbmFseXNpcyIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKIyMgUmVhbFRpbWUtR2xvIHZzIGRpcmVjdCBjZWxsIGNvdW50cyB2aWEgZmx1b3Jlc2NlbmNlIG1pY3Jvc2NvcHkKQW5hbHlzaXMgb2YgUEM5LjEgY2VsbHMgdHJlYXRlZCB3aXRoIG11bHRpcGxlIGRydWdzIGFuZCBkcnVnIGNvbmNlbnRyYXRpb25zIHVzaW5nIFJULWdsbwpgYGB7cn0KbGlicmFyeShkaXByYXRlKQoKIyBOZXcgZnVuY3Rpb24gdG8gY29ycmVjdCB0aW1lIGZvcm1hdApmaXhUaW1lIDwtIGZ1bmN0aW9uKC4uLikgc3RycHRpbWUoZm9ybWF0PSIlbS0lZC0lWSAlSTolTSAlcCIsIC4uLikKCmQgPC0gcmVhZC5jc3YoIn4vZHJvcGJveC12dS90ZW1wL2x1bV9jZWxsY291bnRfSkFCMDAyLTMuY3N2Iiwgcm93Lm5hbWVzPTEpCmBgYAoKIyMgQ2xlYW4gdXAgZGF0YQpgYGB7cn0KZFtkJGRydWdfY29uYyA9PSAiTmFOIiwgImRydWdfY29uYyJdIDwtIE5BCmQkZHJ1Z19jb25jIDwtIGFzLm51bWVyaWMoZCRkcnVnX2NvbmMpCmRbZCRkcnVnID09ICIiLCAiZHJ1ZyJdIDwtIE5BCgpjbiA8LSBjb2xuYW1lcyhkKQoKY24gPC0gZ3N1YigiZHJ1Z18iLCAiZHJ1ZzEuIiwgY24pCmNuIDwtIGdzdWIoImRydWckIiwgImRydWcxIiwgY24pCmNuIDwtIGdzdWIoIl8iLCAiLiIsIGNuKQpjb2xuYW1lcyhkKSA8LSBjbgoKZFtpcy5uYShkJGRydWcxLmNvbmMpLCAiZHJ1ZzEuY29uYyJdIDwtIDAKClR4VGltZSA8LSBmaXhUaW1lKG1pbihkJGltYWdlLnRpbWUpKQpkJHRpbWUgPC0gc2lnbmlmKGFzLm51bWVyaWMoZGlmZnRpbWUoZml4VGltZShkJGltYWdlLnRpbWUpLCBUeFRpbWUsIHVuaXRzPSJob3VycyIpKSwyKQpkIDwtIGRbb3JkZXIoZCR3ZWxsLGQkdGltZSksXQpkJHVpZCA8LSBkJHdlbGwKcm93bmFtZXMoZCkgPC0gTlVMTApgYGAKCgpgYGB7cn0KY3RybCA8LSBkW2QkZHJ1ZzEuY29uYz09MCxdCmBgYAoKYGBge3IgZmlnLmhlaWdodD02LCBmaWcud2lkdGg9Nn0KdGVtcCA8LSBwbG90R0MoY3RybCR0aW1lLCBjdHJsJGNlbGwuY291bnQsIGN0cmwkd2VsbCwgbWFpbj0iQ2VsbCBjb3VudHMiKQpgYGAKCmBgYHtyIGZpZy5oZWlnaHQ9NiwgZmlnLndpZHRoPTZ9CnRlbXAgPC0gcGxvdEdDKGN0cmwkdGltZSwgY3RybCRSTFUsIGN0cmwkd2VsbCwgbWFpbj0iTHVtaW5lc2NlbmNlIikKYGBgCgoKCmBgYHtyfQpwbG90KFJMVSB+IGNlbGwuY291bnQsIGRhdGE9Y3RybCkKYGBgCgoKYGBge3J9CmRydWdzIDwtIHVuaXF1ZShkJGRydWcxKQpkcnVncyA8LSBkcnVnc1shaXMubmEoZHJ1Z3MpXQoKYSA8LSBsYXBwbHkoZHJ1Z3MsIGZ1bmN0aW9uKGRyKSBkW2QkZHJ1ZzE9PWRyICYgIWlzLm5hKGQkZHJ1ZzEpLF0pCmBgYAoKCmBgYHtyIGZpZy5oZWlnaHQ9OCwgZmlnLndpZHRoPTh9CnBhcihtZnJvdz1jKDMsMykpCnRlbXAgPC0gbGFwcGx5KGEsIGZ1bmN0aW9uKHopIGRvLmNhbGwocGxvdEdDLCBhcHBlbmQoZ2V0R0NhcmdzKHopLCBsaXN0KHJlcD16JGRydWcxLmNvbmMsIG1haW49dW5pcXVlKHokZHJ1ZzEpKSkpKQpgYGAKCg==